<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>

  <body>
    <script>
      var removeDuplicates = function (nums) {
        // 方法一：双指针（）---时间：O（n）（）---空间：O（1）（）
        // let p1 = 0;
        // for (let i = 1; i < nums.length; i++) {
        //   if (nums[p1] !== nums[i]) {
        //     nums[++p1] = nums[i];
        //   }
        // }
        // return p1 + 1;

        // 方法二：双指针（另一种写法）---时间：O（n）（）---空间：O（1）（）
        let fast = 1;
        let slow = 0;
        while (fast < nums.length) {
          if (nums[fast] !== nums[slow]) {
            nums[++slow] = nums[fast];
          }
          fast++;
        }
        return slow+1

        // 鸡贼法：（测试用例过不了）
        // return [...new Set(nums)].length
      };

      console.log(removeDuplicates([1, 1, 2]));
      console.log(removeDuplicates([0, 0, 1, 1, 1, 2, 2, 3, 3, 4]));
    </script>
  </body>
</html>
